// Header Protection
#ifndef _MESHASSET_H_
#define _MESHASSET_H_

// Include Files
#include "Definitions.h"
#include "Managers\ManagerAsset.h"

// Namespace
namespace IE
{
	/////////////////////////////////////////////////////////////////////////////////
	// A class to contain all information about a loaded mesh.
	class CMeshAsset : public ABCManagerAsset
	{
	public:     // methods
		CMeshAsset() : ABCManagerAsset() { }
		virtual ~CMeshAsset() { }

	public:     // data
		string_t m_strName;     // the name of the asset
		uint_t   m_uVAO;        // vertex array object
		uint_t   m_uIBO;        // index buffer object
		uint_t   m_uVBO;        // vertex buffer object
		uint_t   m_uIndexCount; // number of indices
		uint_t   m_uIndexSize;  // number of bytes per index

	private:    // dummy definitions
		CMeshAsset( CMeshAsset const & );
		CMeshAsset &operator =( CMeshAsset const & );
	};
}

// Header Protection
#endif // _MESHASSET_H_
